package com.bzkj.basicinfo.service.fieldTranslation;

import com.alibaba.fastjson2.JSONObject;
import com.bzkj.basicinfo.domain.fieldTranslation.FieldTranslation;
import com.bzkj.common.core.domain.AjaxResult;

import java.util.List;

/**
 * 字段翻译映射Service接口
 *
 * @author bzkj
 * @date 2025-03-21
 */
public interface IFieldTranslationService
{
    /**
     * 查询字段翻译映射
     *
     * @param id 字段翻译映射主键
     * @return 字段翻译映射
     */
    public FieldTranslation selectFieldTranslationById(Long id);

    /**
     * 查询字段翻译映射列表
     *
     * @param fieldTranslation 字段翻译映射
     * @return 字段翻译映射集合
     */
    public List<FieldTranslation> selectFieldTranslationList(FieldTranslation fieldTranslation);

    /**
     * 新增字段翻译映射
     *
     * @param fieldTranslation 字段翻译映射
     * @return 结果
     */
    public int insertFieldTranslation(FieldTranslation fieldTranslation);

    /**
     * 修改字段翻译映射
     *
     * @param fieldTranslation 字段翻译映射
     * @return 结果
     */
    public int updateFieldTranslation(FieldTranslation fieldTranslation);

    /**
     * 批量删除字段翻译映射
     *
     * @param ids 需要删除的字段翻译映射主键集合
     * @return 结果
     */
    public int deleteFieldTranslationByIds(Long[] ids);

    /**
     * 删除字段翻译映射信息
     *
     * @param id 字段翻译映射主键
     * @return 结果
     */
    public int deleteFieldTranslationById(Long id);

    /**
     * 根据表名获取表字段信息
     * @param tableName 表名
     * @return 查询结果
     */
    AjaxResult getTableInfoAndFieldInfo(String tableName);

    /**
     * 导入字段翻译映射
     * @param resultJsonObject 导入数据
     * @return 导入结果
     */
    AjaxResult importFieldTranslation(JSONObject resultJsonObject);
}
